<?php
	session_start();
	
	function fetch_user_infos($member_carac, $filter='id') {
		$member_q = mysql_query("SELECT * FROM members WHERE $filter='$member_carac'");
		$member_i = mysql_fetch_array($member_q);
		
		if (!$member_i) {
			return null;
		} else {
			if ($member_i['rights'] == 2) {
				$member_img = "images/icon/redac.png";
				$member_rank = "Rédacteur";
			} elseif ($member_i['rights'] == 3) {
				$member_img = "images/icon/admin.png";
				$member_rank = "Administrateur";
			}
			elseif ($member_i['rights'] == 1) {
				$member_rank = "Membre";
			}
			$member = array(	'id' => $member_i['id'],
								'img' => $member_img, 
								'rank' => $member_rank, 
								'name' => $member_i['pseudo'], 
								'rights' => $member_i['rights'],
								'banned' => $member_i['banned'],
								'email' => $member_i['email'],
								'last_ip' => $member_i['last_ip'],
								'lost_chk' => $member_i['lost_pass'],
								'presentation' => $member_i['presentation']);
			return $member;
		}
	}
	
	function comments($news_id, $limit = false) {
		if ($limit == true) {
		$query = mysql_query("SELECT * FROM comments WHERE news='$news_id' ORDER BY id DESC LIMIT 0,3");
		
					echo '<div class="comments">';
		while ($comment = mysql_fetch_array($query)) {
		$comment['text'] = ShowSmileys(substr($comment['text'], 0, 64));
		$user_infos = fetch_user_infos($comment['by']);
		
		echo '				
		<div class="comment">
							<div class="comment_text" align="left">
								' . stripslashes($comment['text']) .' <a href="?more='. $news_id .'"> [+] </a>
							</div>
							<div class="comment_foot" align="right">';
							if ($user_infos['rights'] == 2) {
							echo '	<img src="images/icon/redac.png" width="16px" height="16px"/>'. $user_infos['name'].', ' . $comment['date'];
							}							
							elseif ($user_infos['rights'] == 3) {
							echo '	<img src="images/icon/admin.png" width="16px" height="16px"/>'. $user_infos['name'].', ' . $comment['date'];
							}							
							else {
							echo  $user_infos['name'].', ' . $comment['date'];
							}
							echo '
</div>
							<div class="comment_btm"> </div>
							</div>';
		}
	} }
	
	function GenerateQuote() {

	$names = array ( 	'42 is the ANSWER',
						'Youpi : une maintenance !',
						'J\'aime la soupe aux poireaux',
						'BOUM ! Oups...',
						'Qui a ramené un hamster ici ?',
						'Et une bière, une !',
						'Mangez au moins 3 fruits et légumes par jour.',
						'#ERROR[\'1014\'] : THIS WEBSITE IS GONNA BE DELETED [... 77%]',
						'1337 !',
						'Scipion aime les *BIIIP*',
						'Vivez LGMT, Buvez LGMT, Mangez LGMT (non, ceci n\'est pas de la propagande)',
						'Vous allez lire tous ces messages ?',
						'Accro du papier',
						'Vive les &nbsp !',
						'This is it.',
						'Vive les VHS Sony !',
						'J\'ai terminé Zelda 4 fois.',
						'Non... Je ne suis pas fou.',
						'Echec de connexion synaptique... Votre cerveau va être détruit... Détendez vous SVP.',
						'Vous connaissez celle du haricot qui dit zut ? *Zut*',
						'Faites pas cette tête là... Le site revient !',
						'function_load : message_subliminal("Facebook = mal");',
						'All your bases are belong to us',
						'Il faut faire vite il faut fervex (vous aussi vous la trouvez chiante cette pub, hein ?)',
						'"C\'est quoi ce bouton ?" *BIP* *Pschhhttt* "AHHHHH, MES YEUX !"',
						'We Want You',
						'Kernel Panic - not syncinc: killing interrupt handler!',
						'Proverbe Hordien : Ton voisin est une raclure ? Donne lui un cyanure',
						'*** STOP: 0x00000001 (0x0000000C, 0x00000002, 0x00000000, 0xF86B5A89)',
						'Google chrome c\'est le mal.',);
						
	$name_id = rand(0,count($names));
	
	return $names[$name_id];
	}
	
	function RandomString ($number) {
		$chars = array ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',0,1,2,3,4,5,6,7,8,9,'&','#','*','-','@','!','?');
		
		while ($i < $number) {
			$rand = rand(0, count($chars));
			$string .= $chars[$rand];
			$i++;
		}
		
		return $string;
	}
	
	function ShowSmileys ($string) {
		$string = preg_replace('#:lol:#', '<img src="images/smileys/lol.gif"/>', $string);
		$string = preg_replace('#:\|#', '<img src="images/smileys/bof.gif"/>', $string);
		$string = preg_replace('#8\)#', '<img src="images/smileys/boss.gif"/>', $string);
		$string = preg_replace('#:boulay:#', '<img src="images/smileys/boulet.gif"/>', $string);
		$string = preg_replace("#:'\(#", '<img src="images/smileys/cry.gif"/>', $string);
		$string = preg_replace('#:kiss:#', '<img src="images/smileys/kiss.gif"/>', $string);
		$string = preg_replace('#xD#', '<img src="images/smileys/xD.gif"/>', $string);
		$string = preg_replace('#:he:#', '<img src="images/smileys/gna.gif"/>', $string);
		$string = preg_replace('#:love:#', '<img src="images/smileys/heart.gif"/>', $string);
		$string = preg_replace('#:evil:#', '<img src="images/smileys/evil.gif"/>', $string);
		$string = preg_replace('#:P#', '<img src="images/smileys/wow.gif"/>', $string);
		$string = preg_replace('#:p#', '<img src="images/smileys/wow.gif"/>', $string);
		$string = preg_replace('#:\)#', '<img src="images/smileys/smile.gif"/>', $string);
		$string = preg_replace('#;\)#', '<img src="images/smileys/wink.gif"/>', $string);
		$string = preg_replace('#:arf:#', '<img src="images/smileys/arf.gif"/>', $string);
		$string = preg_replace('#:next:#', '<img src="images/smileys/next.gif"/>', $string);
		$string = preg_replace('#:non:#', '<img src="images/smileys/no.gif"/>', $string);
		$string = preg_replace('#:oui:#', '<img src="images/smileys/yes.gif"/>', $string);
		$string = preg_replace('#:noel:#', '<img src="images/smileys/noel.gif"/>', $string);
		$string = preg_replace('#:hap:#', '<img src="images/smileys/hap.gif"/>', $string);
		$string = preg_replace('#:calim:#', '<img src="images/smileys/calim.gif"/>', $string);
		$string = preg_replace('#:rollleyes:#', '<img src="images/smileys/rolleyes.gif"/>', $string);
		
		return $string;
	}
	
	function rssDate($timestamp=null) {
        $timestamp = ($timestamp==null) ? time() : $timestamp;

        return date(DATE_RSS, $timestamp);
	}
	
	function Actions($do) {
		switch($do) :
			case 'redac_write' :
				if ($_SESSION['rank'] == 1) { 
				die('Accès non autorisé'); }
				echo "<div class='modal_large modder' id='popup'>
					<h2> Rédaction d'un article </h2>
					<div align='center'>
						<form method='POST' action=''>
							Titre <br/>
							<input type='text' name='title'/> <br/> <br/>
							Catégorie <br/>
							<select name='cat'>";
							$q_cat = mysql_query('SELECT * FROM cat ORDER BY name ASC');
							while ($cat = mysql_fetch_array($q_cat)) {
							echo ' <option value='. $cat['id'] .'>'. utf8_encode($cat['name']) .'</option>'; }
							echo "</select> <br/> <br/>
							Image de la news (lien) <br/>
							<input type='text' name='img'/> <br/> <br/>
							Texte de la news <br/>
							<textarea cols='56' rows='12' name='news'></textarea> <br/>
							<button type='submit'> Ajouter la news </button>
						</form>
						</div>
						<div style='font-size: 10px; border: 1px solid black;'>
							Les images seront rendimensionnées en une largeur de 120 pixels. <br/>
							L'usage de balises html est autorisé par exemple : <br/>
							&lt;strong&gt; Texte en gras &lt;/strong&gt; <br/>
							&lt;em&gt Texte en italique &lt;/em&gt; <br/>
							&lt;u&gt Texte souligné &lt;/u&gt <br/>
							&lt;a href='http://cible_du_lien'&gt; Texte du lien &lt;/a&gt
						</div>
					<button type='button' class='close'> Fermer </button>
				</div>";
				break;
			case 'redac_edit' :
				if ($_SESSION['rank'] == 1) die('Accès non autorisé');
				$query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0,10");
				echo "<div class='modal modder' id='popup'>
					<h2> Modification des articles (10 derniers) </h2>";
				echo "
				<table>
					<tr>
						<td>
							ID
						</td>						
						<td>
							Titre
						</td>						
						<td>
							Auteur
						</td>						
						<td>
							Actions
						</td>
					</tr>";
				while ($news = mysql_fetch_array($query)) {
					$author = fetch_user_infos($news['by']);
					echo '
					<tr>
						<td>
							' . $news['id'] .'
						</td>
						<td>
							' . stripslashes($news['title']) .'
						</td>
						<td>
							' . $author['name'] .'
						</td>
						<td>
							<a href="http://lgmt.info/?delete='.$news['id'].'"> <img src="images/icon/bin.png"/> </a> <a href="http://lgmt.info/?edit='.$news['id'].'"> <img src="images/icon/pencil.png"/> </a>
						</td>
					</tr>';
				}
				echo "	
				</table>
				<button type='button' class='close'> Fermer </button>
				</div>";
				break;
				case 'admin_members' :
					if ($_SESSION['rank'] < 3) die('Accès non autorisé');
					echo "<div class='modal modder' id='popup'>
						<h2> Administration des membres </h2>
						<p> Pseudo du membre à gérer : <form method='POST' action=''> <input type='text' name='member_research'/> <button type='submit'> Cherche médor </button> </form></p>
						<button type='button' class='close'> Fermer </button>
					</div>";
				break;
				case 'admin_links' :
					#if ($_SESSION['rank'] < 3) die('Accès non autorisé');
					#echo "<div class='modal modder' id='popup'>
					#	<h2> Administration des liens </h2>
					#	<p> Pseudo du membre à gérer : <form method='POST' action=''> <input type='text' name='member_research'/> <button type='submit'> Cherche médor </button> </form></p>
					#	<button type='button' class='close'> Fermer </button>
					#</div>";
				break;
				case 'parameters' :
					$infos = fetch_user_infos($_SESSION['user_id']);
					echo '<div class="modal_large member_edit" id="popup">
					<h2> Modification de vos paramètres personnels </h2>
					<p>
						<form method="POST" action="">
						Adresse e-mail : <input type="text" name="new_email" value="' . $infos['email'] . '"/> <button type="submit"> Modifier </button>
						</form>
						<form method="POST" action="">
						Nouveau mot de passe : <input type="password" name="new_password"/> <button type="submit"> Modifier </button>
						</form>
						<button type="button" class="close"> Fermer </button>
					</p>
					</div>';
				break;
		endswitch;
	}
	
	function Event($id) {
		switch($_GET['event']) {
			case 'error_register':
				echo "<div class='modal error' id='popup'>
					<h2> Echec de l'inscription </h2>
					<p> L'inscription a échouée </p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
			case 'registered':
				echo "<div class='modal ok' id='popup'>
					<h2> Inscription terminée avec succès ! </h2>
					<p> Bienvenue parmi nous ! <br/>
						L'inscription vous permet de poster des commentaires sur le site, vous inscrire à la newsletter et de participer au site LGMT ! <br/> <br/>
						<strong> Vous pouvez vous connecter dès à présent au site !</strong>
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
			case 'error_login':
				echo "<div class='modal error' id='popup'>
					<h2> Echec lors de la connexion </h2>
					<p> Echec de la connexion : mot de passe ou nom d'utilisateur incorrect !
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
			case '400':
				echo "<div class='modal error' id='popup'>
					<h2> Erreur 400 </h2>
					<p> Le serveur a reçu une requête incorrecte qu'il n'a pas pû intérpreter. <br/>
					Veuillez contacter un administrateur.
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
			case '401':
				echo "<div class='modal error' id='popup'>
					<h2> Erreur 401 </h2>
					<p> Vous n'êtes pas autorisé à rejoindre la ressource à laquelle vous essayez d'accéder !
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
			case '404':
				echo "<div class='modal error' id='popup'>
					<h2> Erreur 404 </h2>
					<p> La page que vous essayez d'atteindre est introuvable !
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
			case 'news_fail':
				echo "<div class='modal error' id='popup'>
					<h2> Echec lors de l'ajout de news </h2>
					<p> Pour une raison inconnue, le processus d'ajout de news a été interrompu.
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;			
			case 'no_members':
				echo "<div class='modal error' id='popup'>
					<h2> Erreur : aucun membres </h2>
					<p> La recherche a échouée : vérifiez que vous avez correctement saisi le nom du membre voulu.
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
			case 'news_ok':
				echo "<div class='modal ok' id='popup'>
					<h2> News postée avec succès ! </h2>
					<p> Félicitations, la news a été postée avec succès !
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
			case 'email_unknow':
				echo "<div class='modal error' id='popup'>
					<h2> Impossible d'associer l'adresse </h2>
					<p> L'adresse e-mail que vous avez entré ne correspond à aucun membre.
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;			
			case 'email_error':
				echo "<div class='modal error' id='popup'>
					<h2> Echec de l'envoi </h2>
					<p> Echec lors de l'envoi du mail : Erreur inconnue.
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;			
			case 'lostpassword_ok':
				echo "<div class='modal ok' id='popup'>
					<h2> E-Mail envoyé ! </h2>
					<p> Vous allez recevoir sous quelques minutes un e-mail contenant toutes les informations afin de poursuivre la démarche d'oubli de mot de passe !
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;			
			case 'already_registered':
				echo "<div class='modal error' id='popup'>
					<h2> Ce nom d'utilisateur existe déjà ! </h2>
					<p> Le nom d'utilisateur avec lequel vous avez essayé de vous inscrire existe déjà. <br/> Réessayez en utilisant un nom d'utilisateur différent.
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
			case 'password_changed':
				echo "<div class='modal ok' id='popup'>
					<h2> Mot de passe changé ! </h2>
					<p> Votre mot de passe a été modifié et il est effectif dès maintenant !
					</p>
					<button type='button' class='close'> Fermer </button>
				</div>";
			break;
		}
	}
	
	function LostPassword($email) {
		$infos = fetch_user_infos($email, 'email');
		if (!$infos) header('Location: http://lgmt.info/?event=email_unknow');
		
		$userid = $infos['id'];
		$link_hash = md5($infos['id'] . $infos['name'] . rand(0,151562456516475167));
		mysql_query("UPDATE `members` SET `lost_pass`='$link_hash' WHERE `id`=$userid");
		$link = "http://lgmt.info/?reset_password=$userid&check=$link_hash";
		
		$mail_to = $infos['name'] . ' <' . $infos['email'] .'>';
		$mail_subject = utf8_decode('Mot de passe oublié !');
		$mail_message = utf8_decode("Bonjour, 
Vous avez fait une requête d'oubli de mot de passe sur le site lgmt.info !

Les mots de passe étant cryptés dans notre base de donnée il nous est impossible de vous le retourner.
Une procédure de remise à zéro du mot de passe de votre compte est faisable en cliquant sur le lien ci-dessous :
	$link

Cordialement,
La Gazette Motion-Twin.

PS: Ceci est un message automatique.");
		$mail_header = 'From: LGMT <no_reply@lgmt.info>' . "\r\n" .
    'Reply-To: LGMT <no_reply@lgmt.info>' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
		if (mail($mail_to, $mail_subject, $mail_message, $mail_header)) {
			header('Location: http://lgmt.info/?event=lostpassword_ok'); }
		else {
			header('Location: http://lgmt.info/?event=email_error');
		}
	}
	
	function PasswordReset($id, $check) {
		$infos = fetch_user_infos($id);
		
		if ($infos['lost_chk'] == $check) {
			$new_password = RandomString(10);
			$password = sha1($new_password);
			mysql_query("UPDATE `members`SET `password`='$password' WHERE `id`=$id");
			
			$mail_to = $infos['name'] . ' <' . $infos['email'] .'>';
			$mail_subject = 'Votre nouveau mot de passe !';
			$mail_message = utf8_decode("Bonjour,
Suite a votre demande un nouveau mot de passe vous a été attribué.
Ce mot de passe est : $new_password et il est effectif dès maintenant !

Vous pouvez le modifier en passant par vos paramètres.

Cordialement,
La Gazette Motion-Twin.

PS : La prochaine fois, évitez de l'oublier.");
		$mail_header = 'From: LGMT <no_reply@lgmt.info>' . "\r\n" .
    'Reply-To: LGMT <no_reply@lgmt.info>' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
	
		if (mail($mail_to, $mail_subject, $mail_message, $mail_header)) {
			header('Location: http://lgmt.info/?event=lostpassword_ok'); }
		else {
			header('Location: http://lgmt.info/?event=email_error');
		}
		}
	}
?>